﻿// =============================================
// Author:		Oğuz Kurumlu
// Create date: <Create Date,,>
// Description:	<Description,,>
// =============================================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Bosphorus.Migrator.Core.CommandProcessor;
using Bosphorus.Migrator.Core.Extractor;
using Bosphorus.Migrator.Core.MigrationCommand;
using Bosphorus.Migrator.Dialect.Core;
using Bosphorus.Migrator.Implementation;
using Bosphorus.Migrator.Implementation.CommandProcessor;
using Bosphorus.Migrator.Implementation.Extractor;
using Bosphorus.Migrator.Implementation.MigrationCommand;
using Bosphorus.Migrator.Core.Command.Processor.Generated;

namespace Bosphorus.Migrator.Facade
{
    public static class CommandFacade
    {
        public static void Execute(IList<ICommand> commands)
        {
            IGenerator<string> generator = IoC.Resolve<IGenerator<string>>();
            IExtractor<string> extractor = IoC.Resolve<IExtractor<string>>();
            ICommandProcessor commandProcessor = new GeneratedCommandProcessor<string>(generator, extractor);

            commandProcessor.Process(commands);
        }
    }
}
